// pages/addresspages/addressEditor/addressEditor.js
var Ajax = require('../../../utils/Ajax.js')
var utils = require('../../../utils/util.js');
import { AreaPicker } from "../../../utils/addressseltel.js";
var app = getApp();
Page(Object.assign({}, AreaPicker, {

  /**
   * 页面的初始数据
   */
  data: {
    province: null,//省 {id,name}
    city: null,//市
    district: null,//县 区
    name:'',
    phone:'',
    address:'',
    selected:false,
    isadd:true,
    isCheck:false,
  },
  onsetChang(e) {//用户选择颜色规格及材质
    var setletindex = e.currentTarget.dataset;
    this.setData({
      ['' + setletindex.name]: setletindex.index
    })
  },
  onAreaCommit(locationList) {//当用户更换地区
    this.setData({
      province: locationList[0] || {},
      city: locationList[1] || {},
      district: locationList[2] || {},
    });
  },
  switchChange: function (e) {
    var { options } = this.data;
    if (options.isdefault == '1') {
      this.setData({
        selected: true
      },()=>{
        utils.showtoast('地址列表为空,自动设置为默认地址')
      })
      return;
    }
     this.setData({
       selected: e.detail.value
     })
  },
  oninput(e) { //获取输入的值
    var {
      name
    } = e.currentTarget.dataset;
    var {value} = e.detail;
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“/\"'。\\，、_？\\s+]")
    this.setData({
      [name]: value.replace(pattern, "")
    })
  },
  oninpfocus(e) {//输入框获取焦点
    var inputname = e.target.dataset.name;
    this.setData({ atv: inputname })
  },
  oninpblur(e) {//输入框失去焦点
    var inputname = e.target.dataset.name
    this.setData({ atv: '' })
  },
  delText(e) { //清空input
    this.setData({
      ['' + e.detail]: ''
    })
  },
  onSaveaddress(){
    utils.showLoading();
    var { name, phone, address, selected, province, city, district}=this.data
    this.setData({isadd:false})
    Ajax.post('addReceiptAddress',{
      name, phone, address,
      selected: selected ? 0:1,
      province: province.text,
      city: city.text,
      area: district.text||'',
      uid: utils.getUserInfo()&&utils.getUserInfo().id
    }).then((d)=>{
    utils.hideLoading();
     if(d.status==200){
       utils.showtoast('新建地址成功')
       wx.navigateBack()
       this.setData({ isadd: true })
       
     }else{
       utils.showtoast(d.data)
       this.setData({isadd: true})
     }
    }).catch((e)=>{
      console.log(e)
      utils.hideLoading();
      this.setData({ isadd: true })
      utils.showtoast('网络错误,添加地址失败')
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //如果是从提交订单第一次添加地址
    this.setData({
      options,
      selected:options.isdefault=='1'? true:false,
      model: app.globalData.model,
    })
    if (options.isCheck){
      this.setData({
        selected:true
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.init(false,[]);
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },
}))